package com.zhongwang.mms.module.purchase.model;

import com.alibaba.excel.annotation.ExcelIgnore;
import com.alibaba.excel.annotation.ExcelProperty;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.zhongwang.mms.gen.entity.PInventoryProjectMark;
import lombok.Data;
import org.springframework.boot.autoconfigure.flyway.FlywayDataSource;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;
import java.util.Date;

@Data
/**
 *@ClassName: PInventoryProjectMarkModel
 *@Description: 库存划项目模型
 *@Author: 徐一贺
 *@CreateDate: 2020/4/22 11:20
 *@Phone: 18241927380
 *@Version: 1.0.0
 */
public class PInventoryProjectMarkModel {
    @ExcelIgnore
    private Integer ipmId;
    @ExcelIgnore
    private Integer ipmRppId;
    @ExcelIgnore
    private Integer ipmProposerId;
    @ExcelIgnore
    private Date ipmDate;
    @ExcelIgnore
    private Double ipmWeight;

    @ExcelIgnore
    private Integer ipmExecutorId;



    @ExcelIgnore
    private Integer ipmBeforeItyId;
    @ExcelIgnore
    private Integer ipmAfterItyId;
    @ExcelIgnore
    private Integer ipmAppStatus;
    @ExcelIgnore
    private Integer ipmOutOdrId;
    @ExcelIgnore
    private Integer ipmInOdrId;
    @ExcelIgnore
    private String ipmMatCode;
    @ExcelProperty(value = "物料描述",index = 0)
    private String ipmMatDesc;
    @ExcelProperty(value = "标记数量",index = 1)
    private Double ipmNum;
    /**
     * 单价
     **/
    @ExcelIgnore
    private Double ipmPrice;
    /**
     * 库存划项目执行页面显示使用：单位
     **/
    @ExcelProperty(value = "单位",index = 2)
    private String ityNumUnit;

    @ExcelIgnore
    private String ipmStandardNo;
    @ExcelProperty(value = "项目编号",index = 3)
    private String ipmInProjectCode;
    @ExcelProperty(value = "项目名称",index = 4)
    private String ipmInProjectName;
    @ExcelProperty(value = "仓库类型",index = 5)
    private String ipmItyType;
    @ExcelProperty(value = "仓库",index = 6)
    private String ityWhiName;
    @ExcelProperty(value = "区位",index = 7)
    private String ityPosition;
    /**
     * 库存划项目执行页面显示使用：在库类型
     **/
    @ExcelIgnore
    private Integer ityStockType;
    /**
     * 库存划项目执行页面显示使用：在库类型
     **/
    @ExcelProperty(value = "在库类型",index = 8)
    private String ityStockTypeText;
    /**
     * 页面显示使用：标记人
     **/
    @ExcelProperty(value = "标记人",index = 9)
    private String ipmProposer;
    /**
     * 库存划项目执行页面显示使用：标记时间
     **/
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @ExcelProperty(value = "标记时间",index = 10)
    private Date ipmDatePage;
    /**
     * 页面显示使用：执行人
     **/
    @ExcelProperty(value = "执行人",index = 11)
    private String ipmExecutor;
    /**
     * 库存划项目执行页面显示使用：执行时间
     **/
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @ExcelProperty(value = "执行时间",index = 12)
    private Date ipmExecDate;
    @ExcelProperty(value = "划拨说明",index = 13)
    private String ipmRemark;
    /**
     * 库存划项目申请页面显示使用：多状态检索
     **/
    @ExcelProperty(value = "划拨状态",index = 14)
    private String ipmAppStatusText;
    @ExcelIgnore
    private String ipmRejectReason;

    /**
     * 页面显示使用：挪用项目编号
     **/
    @ExcelIgnore
    private String ityProCode;
    /**
     * 页面显示使用：挪用项目名称
     **/
    @ExcelIgnore
    private String ityProName;
    /**
     * 页面显示使用：挪用物料描述
     **/
    @ExcelIgnore
    private String ityMatDesc;


    /**
     * 页面显示使用：id集合
     **/
    @ExcelIgnore
    private String ipmIds;




    /**
     * 库存划项目申请页面显示使用：可用数量
     **/
    @ExcelIgnore
    private Double ityAvaNum;
    /**
     * 库存划项目申请页面显示使用：可用数量单位
     **/
    @ExcelIgnore
    private String ityAvaNumUnit;
    /**
     * 库存划项目申请页面显示使用：标记数量单位
     **/
    @ExcelIgnore
    private String ipmNumUnit;

    @ExcelIgnore
    private Integer ityWhiId;

    @ExcelIgnore
    private String ityId;

    @ExcelIgnore
    private Double ityAmount;

    @ExcelIgnore
    private Double ityPrice;

    /**
     * 删除执行者
     */
    @ExcelIgnore
    private String ipmRemoveUserName;
    /**
     * 执行用户ID
     */
    @ExcelIgnore
    private Integer ipmRemoveUserId;
    /**
     * 数据状态
     */
    @ExcelIgnore
    private String ipmDataStatus;
    /**
     * 删除日期
     */
    @ExcelIgnore
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date ipmRemoveDate;
    /**
     * 提交日期
     */
    @ExcelIgnore
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date ipmSubmitDate;
    /**
     * 删除日期
     */
    @ExcelIgnore
    private String ipmRemoveDateStr;


}
